set_widget_type (fishbowl, new_index);
}
+void
+changes_toggled_cb (GtkToggleButton *button,
+ gpointer user_data)
+{
+ if (gtk_toggle_button_get_active (button))
+ gtk_button_set_icon_name (GTK_BUTTON (button), "changes-prevent");
+ else
+ gtk_button_set_icon_name (GTK_BUTTON (button), "changes-allow");
+}
GtkWidget *
do_fishbowl (GtkWidget *do_widget)
gtk_builder_add_callback_symbols (builder,
"next_button_clicked_cb", G_CALLBACK (next_button_clicked_cb),
"prev_button_clicked_cb", G_CALLBACK (prev_button_clicked_cb),
+ "changes_toggled_cb", G_CALLBACK (changes_toggled_cb),
NULL);
gtk_builder_connect_signals (builder, NULL);
window = GTK_WIDGET (gtk_builder_get_object (builder, "window"));
<interface>
<object class="GtkWindow" id="window">
<property name="title" translatable="yes">Fishbowl</property>
+ <property name="default-width">400</property>
+ <property name="default-height">400</property>
<child type="titlebar">
<object class="GtkHeaderBar" id="">
<property name="show-title-buttons">1</property>
</child>
<child type="end">
<object class="GtkToggleButton" id="changes_allow">
- <property name="visible" bind-source="changes_allow" bind-property="active" bind-flags="invert-boolean"/>
<property name="icon-name">changes-allow</property>
<property name="relief">none</property>
- </object>
- </child>
- <child type="end">
- <object class="GtkToggleButton" id="changes_prevent">
- <property name="active" bind-source="changes_allow" bind-property="active" bind-flags="bidirectional|invert-boolean"/>
- <property name="visible" bind-source="changes_prevent" bind-property="active" bind-flags="invert-boolean"/>
- <property name="icon-name">changes-prevent</property>
- <property name="relief">none</property>
+ <signal name="notify::active" handler="changes_toggled_cb"/>
</object>
</child>
</object>
<object class="GtkFishbowl" id="bowl">
<property name="visible">True</property>
<property name="animating">True</property>
- <property name="benchmark" bind-source="changes_allow" bind-property="active" bind-flags="invert-boolean"/>
+ <property name="benchmark" bind-source="changes_allow" bind-property="active" bind-flags="invert-boolean | sync-create"/>
</object>
</child>
</object>